package br.ucb.negocio;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name="partida")
public class Partida extends EntidadeBase implements Serializable{
	private static final long serialVersionUID = 1L;
	
	@ManyToOne(optional = false)
	@JoinColumn(name = "jogo_id", referencedColumnName = "id")
	private Jogo jogo;
	
	@ManyToOne(optional = false)
	@JoinColumn(name = "jogador1_id", referencedColumnName = "id")
	private Jogador jogador1;
	
	@ManyToOne(optional = false)
	@JoinColumn(name = "jogador2_id", referencedColumnName = "id")
	private Jogador jogador2;
	
	@ManyToOne(optional = false)
	@JoinColumn(name = "liga_id", referencedColumnName = "id")
	private Liga liga;
	
	@Temporal(TemporalType.DATE)
	private java.util.Date data;
	
	@Column(name = "pontos_jogador1", nullable = false)
	private int pontos_jogador1;
	
	@Column(name = "pontos_jogador2", nullable = false)
	private int pontos_jogador2;
	
	@Column(name = "nome", unique = true, nullable = false, length = 65)
	private String nome;

	//CONSTRUTOR
	public Partida() {
	}
	
	public Jogo getJogo() {
		return jogo;
	}

	public void setJogo(Jogo jogo) {
		this.jogo = jogo;
	}

	public Jogador getJogador1() {
		return jogador1;
	}

	public void setJogador1(Jogador jogador1) {
		this.jogador1 = jogador1;
	}

	public Jogador getJogador2() {
		return jogador2;
	}

	public void setJogador2(Jogador jogador2) {
		this.jogador2 = jogador2;
	}

	public Liga getLiga() {
		return liga;
	}

	public void setLiga(Liga liga) {
		this.liga = liga;
	}

	public java.util.Date getData() {
		return data;
	}

	public void setData(java.util.Date data) {
		this.data = data;
	}

	public int getPontos_jogador1() {
		return pontos_jogador1;
	}

	public void setPontos_jogador1(int pontos_jogador1) {
		this.pontos_jogador1 = pontos_jogador1;
	}

	public int getPontos_jogador2() {
		return pontos_jogador2;
	}

	public void setPontos_jogador2(int pontos_jogador2) {
		this.pontos_jogador2 = pontos_jogador2;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}
}
